#include <iostream>
#include <unordered_map>

using namespace std;
unordered_map<int,int> visited;
unordered_map<int,long long int> dpmap;

long long int dp(int num)
{
    if(num==0){return 0;}
    if(visited[num]==1){return dpmap[num];}

    long long int result = 1e10;
    for(int i=0;i<num;i++)
    {
        long long int w = 1 + 2*dp(i) + 3*dp(num-i-1) + i*i*(num-i-1);
        if(w<result){result = w;}
    }
    visited[num] = 1;
    dpmap[num] = result;
    return result;
}

int main()
{
    cout<<dp(2021);
    return 0;
}
